<HTML>
<HEAD>
  <META NAME="GENERATOR" CONTENT="Adobe PageMill 3.0 Win">
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
  <TITLE>6502 Architecture</TITLE>
  <LINK REL="StyleSheet" HREF="../obelisk.css" TYPE="text/css" media="screen,print">
</HEAD>
<BODY>
<script type="text/javascript"><!--
google_ad_client = "pub-0826595092783671";
/* 6502 Header */
google_ad_slot = "9208748029";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<HR>
<H2>Basic Architecture</H2>

<P>The 6502 microprocessor is a relatively simple 8 bit CPU with
only a few internal registers capable of addressing at most 64Kb
of memory via its 16 bit address bus. The processor is little
endian and expects addresses to be stored in memory least significant
byte first.</P>

<P>The first 256 byte page of memory ($0000-$00FF) is referred
to as 'Zero Page' and is the focus of a number of special addressing
modes that result in shorter (and quicker) instructions or allow
indirect access to the memory. The second page of memory ($0100-$01FF)
is reserved for the system stack and which cannot be relocated.</P>

<P>The only other reserved locations in the memory map are the
very last 6 bytes of memory $FFFA to $FFFF which must be programmed
with the addresses of the non-maskable interrupt handler ($FFFA/B),
the power on reset location ($FFFC/D) and the BRK/interrupt request
handler ($FFFE/F) respectively.</P>

<P>The 6502 does not have any special support of hardware devices
so they must be mapped to regions of memory in order to exchange
data with the hardware latches.</P>

<P><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%"
HEIGHT="30">
  <TR>
    <TD WIDTH="25%" BGCOLOR="#aaaaff">&nbsp;<A HREF="index.html">&lt;&lt;
      Back</A></TD>
    <TD WIDTH="25%" BGCOLOR="#aaaaff">
      <P><CENTER><A HREF="../index.html" TARGET="_parent">Home</A></CENTER></TD>
    <TD WIDTH="25%" BGCOLOR="#aaaaff">
      <P><CENTER><A HREF="index.html">Contents</A></CENTER></TD>
    <TD ALIGN="RIGHT" WIDTH="25%" BGCOLOR="#aaaaff"><A HREF="registers.html">Next
      &gt;&gt;</A></TD>
  </TR>
</TABLE></P>

<P>
<HR>
<script type="text/javascript"><!--
google_ad_client = "pub-0826595092783671";
/* 6502 Footer */
google_ad_slot = "9966603696";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<HR>
<script type="text/javascript"><!--
google_ad_client = "pub-0826595092783671";
/* 6502 Links */
google_ad_slot = "4173075094";
google_ad_width = 728;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-9026746-2");
pageTracker._trackPageview();
} catch(err) {}</script>
<HR ALIGN=LEFT>This page was last updated on 2nd January 2002
</BODY>
</HTML>
